#include<stdio.h> 
#include<stdlib.h>
int g_val_1 ;//未初始化数据 
int g_val_2= 100 ; //已初始化数据
int main( int argc , char * argv[] ,char * env[] )
{
  printf( "code :  %p\n", main );
 const char * str = "hello bit";
 printf( "string:  %p\n", str);
 printf( "init global value :   %p\n", &g_val_2);
 printf( "uninit global value :   %p\n",&g_val_1 );
 char * mem  =(char *) malloc(100); 
 char * mem1  =(char *) malloc(100); 
 char * mem2  =(char *) malloc(100); 
 printf( "heap:   %p\n", mem);
 printf( "heap:   %p\n", mem1 );
 printf( "heap:   %p\n", mem2);
 printf( " stack:%p\n", &str );// 局部变量存放在栈区 ,str是局部变量  
 printf( " stack:%p\n", &mem );
 int a ;
 int b ;
 int c ;
 printf( " stack:%p\n", &a);
 printf( " stack:%p\n", &b);
 printf( " stack:%p\n", &c);
int i =0 ; 
for(; argv[i]!= NULL ; i++ )
{
 printf("argv[%d]: %p\n" , i , argv[i]);
}
for(; env[i]!= NULL ; i++ )
{
 printf("env[%d]: %p\n" , i , env[i]);
}
  return 0 ;
  
}
